package com.example.businessmanage.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.businessmanage.domain.po.UserCreditPO;
import org.apache.ibatis.annotations.Param;

/**
 * 用户信用Mapper（MyBatis-Plus）
 */
public interface UserCreditMapper extends BaseMapper<UserCreditPO> {

    /**
     * 根据用户ID查询信用信息（无则自动创建默认记录）
     * @param userId 用户ID
     * @return 用户信用PO（默认信用分90）
     */
    UserCreditPO selectByUserIdWithDefault(@Param("userId") Long userId);

    /**
     * 更新用户信用分（支持加分/减分）
     * @param userId 用户ID
     * @param scoreChange 分数变更（正数加分，负数减分）
     * @return 更新行数
     */
    int updateCreditScore(@Param("userId") Long userId, @Param("scoreChange") Integer scoreChange);
}
